﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;


namespace elcalc
{
    public partial class Egenskaber : Form
    {
        //public delegate void NytObjektValgtHandler(object o);
        //public event NytObjektValgtHandler NytObjektValgt;
       
        private static Egenskaber enEgenskabsForm = null;
        public static Egenskaber GetInstance()
        {
            if (enEgenskabsForm == null)
            {
                enEgenskabsForm = new Egenskaber();
            }
            return enEgenskabsForm;
        }
        
        private Egenskaber()
        {
            InitializeComponent();        
        }

        public void Opdater(object o)
        {
            dataGridView1.Rows.Clear();
            if (o is Forbrug)
            {
                Forbrug f = (Forbrug)o;
                dataGridView1.RowCount = 5;
                dataGridView1.Rows[0].Cells[0].Value = "Navn";
                dataGridView1.Rows[1].Cells[0].Value = "Strøm";
                dataGridView1.Rows[2].Cells[0].Value = "Cos(phi)";
                dataGridView1.Rows[3].Cells[0].Value = "Sin(phi)";
                dataGridView1.Rows[4].Cells[0].Value = "Phi";

                dataGridView1.Rows[0].Cells[1].Value = f.Navn;
                dataGridView1.Rows[1].Cells[1].Value = f.Strøm;
                //dataGridView1.Rows[1].Cells[1].Value = string.Format(new KompleksFormat(), "{0:<2}", f.Strøm);
                dataGridView1.Rows[2].Cells[1].Value = f.CosPhi;
                dataGridView1.Rows[3].Cells[1].Value = f.SinPhi;
                dataGridView1.Rows[4].Cells[1].Value = f.Phi;
            }
            if (o is Kabel)
            {
                Kabel k = o as Kabel;
                //dataGridView1.RowCount = 10;
                dataGridView1.Rows.Add(new object[] { "Navn", k.Navn });
                dataGridView1.Rows.Add(new object[] { "Længde", k.Længde});
                
                dataGridView1.Rows.Add(new object[] { "Spændingsfald", k.SpændingsFald });
                dataGridView1.Rows.Add(new object[] { "%", k.SpændingsFaldProcent });
                dataGridView1.Rows.Add(new object[] { "Samlet %", k.SpændingsFaldProcentSamlet });

                /*
                dataGridView1.Rows[0].Cells[0].Value = "Navn";
                dataGridView1.Rows[1].Cells[0].Value = "Længde";
                dataGridView1.Rows[2].Cells[0].Value = "Spændingsfald";
                dataGridView1.Rows[3].Cells[0].Value = "Spændingsfald i procent";
                dataGridView1.Rows[4].Cells[0].Value = "Spændingsfald i procent samlet";
                dataGridView1.Rows[5].Cells[0].Value = "Last";

                dataGridView1.Rows[0].Cells[1].Value = k.Navn;
                dataGridView1.Rows[1].Cells[1].Value = k.Længde;
                //dataGridView1.Rows[1].Cells[1].Value = string.Format(new KompleksFormat(), "{0:<2}", f.Strøm);
                dataGridView1.Rows[2].Cells[1].Value = k.SpændingsFald.ToEngineering();
                dataGridView1.Rows[3].Cells[1].Value = k.SpændingsFaldProcent.ToEngineering();
                dataGridView1.Rows[4].Cells[1].Value = k.SpændingsFaldProcentSamlet.ToEngineering();
                dataGridView1.Rows[5].Cells[1].Value = k.last;
            */
            }
        }

        public void Regn(TreeView trv)
        {
            TreeNodeCollection col = trv.Nodes;
            foreach (TreeNode tn in trv.Nodes)
            {
                
                if (tn.IsSelected) { break; }
                //Debug.WriteLine(tn.Text);
            }
        }


    }
}
